package cn.stylefeng.guns.modular.business.frequency.pricelibrary.model.param;

import cn.stylefeng.guns.core.pojo.base.param.BaseParam;

import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;

/**
 * 价格库
 *
 * @author yujie
 * @date 2023/05/09 17:16
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PriceLibraryParam extends BaseParam {

    /**
     * id
     */
    @NotNull(message = "id不能为空",groups = {edit.class})
    private Long id;

    /**
     * 新建时间
     */
    private Date createTime;

    /**
     * 维护人
     */
    private Long createUser;

    /**
     * update_time
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private Long updateUser;

    /**
     * 状态 1.正常 2.禁用
     */
    @NotNull(message = "状态 1.正常 2.禁用不能为空",groups = {add.class,edit.class})
    private Integer status;

    /**
     * 出发市code
     */
    @NotNull(message = "出发市code不能为空",groups = {add.class,edit.class})
    private String startCode;

    /**
     * destination_code
     */
    @NotNull(message = "destination_code不能为空",groups = {add.class,edit.class})
    private String destinationCode;

    /**
     * 成本
     */
    @NotNull(message = "成本不能为空",groups = {add.class,edit.class})
    private BigDecimal cost;

    /**
     * profit
     */
    @NotNull(message = "profit不能为空",groups = {add.class,edit.class})
    private BigDecimal profit;

    /**
     * 总费用
     */
    @NotNull(message = "总费用不能为空",groups = {add.class,edit.class})
    private BigDecimal totalFee;

    /**
     * 公司名称
     */
    @NotNull(message = "公司名称不能为空",groups = {add.class,edit.class})
    private String companyName;

    /**
     * 网点名称
     */
    @NotNull(message = "网点名称不能为空",groups = {add.class,edit.class})
    private String siteName;

    /**
     * 联系人
     */
    @NotNull(message = "联系人不能为空",groups = {add.class,edit.class})
    private String linkman;

    /**
     * 联系电话
     */
    @NotNull(message = "联系电话不能为空",groups = {add.class,edit.class})
    private String linkPhone;

    /**
     * 联系地址
     */
    @NotNull(message = "联系地址不能为空",groups = {add.class,edit.class})
    private String linkAddress;

    /**
     * 备注
     */
    @NotNull(message = "备注不能为空",groups = {add.class,edit.class})
    private String remark;

    /**
     * 价格类型 1.批量导入 2.调度创建 3.调度报价
     */
    @NotNull(message = "价格类型 1.批量导入 2.调度创建 3.调度报价不能为空",groups = {add.class,edit.class})
    private Integer type;

    /**
     * 运输天数
     */
    @NotNull(message = "运输天数不能为空",groups = {add.class,edit.class})
    private Integer days;

    /**
     * 审核人
     */
    @NotNull(message = "审核人不能为空",groups = {add.class,edit.class})
    private Long checkUser;

    /**
     * 审核时间
     */
    @NotNull(message = "审核时间不能为空",groups = {add.class,edit.class})
    private Date checkTime;

    /**
     * 租户id
     */
    @NotNull(message = "租户id不能为空",groups = {add.class,edit.class})
    private Long tenantId;

}
